#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
    // 1、calloc()接受两个参数，第一个参数是某种数据类型的值的数量，第二个是该数据类型的单位字节长度
    // void* calloc(size_t n, size_t size);
    // calloc()会将所分配的内存全部初始化为0。malloc()不会对内存进行初始化
    char *p = calloc(3, sizeof(char));
    p[0] = '1';
    p[1] = '2';
    p[2] = '\0';
    printf("%s\n", p);
    free(p);
    
    // calloc()相当于malloc() + memset()
    int *q = malloc(sizeof(int) * 10);
    memset(q, 0, sizeof(int) * 10);
    for (int i = 0; i < 10; i++)
    {
        /* code */
        printf("%d\n", q[i]);
    }

    free(q);
}